//
//  DB.m
//  UI-16数据库
//
//  Created by Xue Senhong on 15/5/11.
//  Copyright (c) 2015年 薛森鸿. All rights reserved.
//

#import "DB.h"
// #import <sqlite3.h>
// 确保数据库指针不管创建多少次, 永远都是同一个指针

static sqlite3 *dbpoint = nil;

@implementation DB
+ (sqlite3 *)openDB
{
    // 如果dbpoint存在, 就给他返回, 确保指针只有一个
    if (dbpoint) {
        return dbpoint;
    }
    
    // 判断Library中是否有数据库文件, 如果没有则拷贝进去, 如果有则什么都不做
    NSFileManager *manager = [NSFileManager defaultManager];
    NSArray *array = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *path = [array lastObject];
    path = [NSString stringWithFormat:@"%@/choose.sqlite", path];
    BOOL judge = [manager fileExistsAtPath:path];
    if (!judge) {
        NSString *str = [[NSBundle mainBundle] pathForResource:@"Choose" ofType:@"sqlite"];
        [manager copyItemAtPath:str toPath:path error:nil];
    }
    // 获得拷贝到的数据库文件的指针
    // [path UTF8String] 把NSString类型转换成C语言类型的char
    sqlite3_open([path UTF8String], &dbpoint);
    return dbpoint;
}

+ (void)closeDB
{
    sqlite3_close(dbpoint);
}






@end
